package com.net.xpay.common.domain;


import com.net.common.domain.CommonDomain;
import com.net.xpay.common.enums.safePay.ApplyReceiptStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * 单笔转账的电子回单
 */
@Getter
@Setter
@NoArgsConstructor
public class SafePayOrderReceipt extends CommonDomain {

    @ApiModelProperty(notes = "用户id")
    private Long userId;

    @ApiModelProperty(notes = "safePayOrderId")
    private Long safePayOrderId;

    @ApiModelProperty(notes = "ISV与商户签约授权协议号")
    private String agreementNo;

    @ApiModelProperty(notes = "支付宝支付资金流水号，仅当转账成功才会返回该参数")
    private String payFundOrderId;

    @ApiModelProperty(notes = "申请回单返回的文件id")
    private String fileId;

    @ApiModelProperty(notes = "申请回单发起时间")
    private LocalDateTime lastApplyTime;

    @ApiModelProperty(notes = "回单下载链接")
    private String downloadUrl;

    @ApiModelProperty(notes = "回单状态")
    private ApplyReceiptStatus status;

    @ApiModelProperty(notes = "回单生成错误信息")
    private String errorMessage;

    @ApiModelProperty(notes = "完成时间")
    private LocalDateTime endTime;

    @ApiModelProperty(notes = "下次查询时间")
    private LocalDateTime nextQueryTime;

    @ApiModelProperty(notes = "查询次数")
    private Integer queryCount;

}
